"""菲薄拉起"""
....as s
def fact(num):
    if num in (1,2):
        return 1
    return num*fact(num-1)


def fibo(num,temp={}):
    if num in(1,2):
        return 1
    if num not in temp:
        temp[num] = fibo(num-1) + fibo(num-2)
    return temp[num]


def climb():
    num = 0
    for x in range(10):
        for y in range(5):
            for z in range(3):
               if x + 2*y +3*z ==10:
                num+=1
    return num

def main():
    print (fact(5),fibo(20),climb())

if __name__=='__main__': 
    main()
